﻿using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface ISaleDeliveryRepository : IBaseRepository<BaseEntity>
    {
        public List<WmsOutstock> GetSaleDeliveryOrderList(string orderNo);
        public List<WmsOutstock> GetSaleDeliveryOrderListByOrderNo(string orderNo);
        public List<SysStock> GetStockInfoByCartonNo(string cartonNo);
        public List<WmsOutstock> GetOutStockByOrderNo(string orderNo);
        public List<SysStock> GetStockByGroupNo(string groupNo);
        public List<WmsOutstockDetail> GetOutStockDetailByOrderPartNo(string orderNo, string partNo);
        public List<WmsOutstockSn> GetOutStockSnByOrder(string orderNo);
        public List<WmsOutstockSn> GetOutStockSnByOrderCartonNo(string orderNo, string cartonNo);
        public List<WmsOutstockDetail> GetOutStockDetailByOrder(string orderNo);
        public WmsOutstockDetail GetOutStockDetailQtySumByOrder(string orderNo);
        public List<WmsOutstockDetail> GetFinishOutStockDetailByOrderNo(string orderNo);
        public SysPart GetPartNOInfoByPartNo(string partNo);
        public int SQLTransaction(List<string> sqlStrings, List<DynamicParameters> parameterList);
    }
}
